Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何替换列表中的值_Python_List_Python 2.7 - Fatal编程技术网

Python 如何替换列表中的值

Python 如何替换列表中的值,python,list,python-2.7,Python,List,Python 2.7,程序要求用户输入5个唯一的号码,如果该号码已经在列表中,则要求输入一个新号码。输入5个唯一编号后,显示列表 numbers = ['1','2','3','4','5'] count = 0 index = 0 while count <6: user = raw_input ("Enter a number: ") if user in numbers: print "not unique" if user not in numbers:

程序要求用户输入5个唯一的号码,如果该号码已经在列表中,则要求输入一个新号码。输入5个唯一编号后,显示列表

numbers = ['1','2','3','4','5']
count = 0
index = 0
while count <6:
    user = raw_input ("Enter a number: ")
    if user in numbers:
        print "not unique"
    if user not in numbers:
        print "unique"
        count += 1
        numbers = numbers.replace(index,user)
        index +=1
    print numbers
number=['1','2','3','4','5']
计数=0
索引=0

当count时,可以用下标符号替换它,如下所示

numbers[index] = user
numbers = []
while len(numbers) < 5:
    user = raw_input ("Enter a number: ")
    if user in numbers:
        print "not unique"
    else:
        print "unique"
        numbers.append(user)
print numbers
除此之外,你的程序还可以改进,就像这样

numbers[index] = user
numbers = []
while len(numbers) < 5:
    user = raw_input ("Enter a number: ")
    if user in numbers:
        print "not unique"
    else:
        print "unique"
        numbers.append(user)
print numbers
number=[]
而len(数)<5:
用户=原始输入(“输入数字:”)
如果用户数量为:
打印“非唯一”
其他:
打印“唯一”
数字。追加(用户)
打印号码
您可以使用:

numbers[index] = user
列表没有
replace()
方法。但是,字符串确实有替换方法

如果要在列表末尾追加数字,可以使用
append()

如果希望在给定位置插入数字,可以使用
insert()
(例如,位置
0
):


您不必在Python中初始化列表:

numbers = []

while len(numbers) != 5:
     num = raw_input('Enter a number: ')
     if num not in numbers:
         numbers.append(num)
     else:
         print('{} is already added'.format(num))

print(numbers)

如果你不在乎数字的顺序,你可能应该看看集合。另外,如果你想处理数字,而不是字符串,你应该把字符串转换成int

nums = set()

while len(nums) < 5:
    try:
        nums.add(int(raw_input("Enter a number: ")))
    except ValueError:
        print 'That is not a number!'
    print 'Numbers entered: {}'.format(', '.join(str(x) for x in nums))
可能对您有用,因为它自动强制唯一性。当您尝试向集合添加
项目时,如果该项目已在集合中,则该项目无效。
Enter a number: 5
Numbers entered: 5
Enter a number: 3
Numbers entered: 3, 5
Enter a number: 1
Numbers entered: 1, 3, 5
Enter a number: 7
Numbers entered: 1, 3, 5, 7
Enter a number: 9
Numbers entered: 1, 3, 9, 5, 7