Python 如何替换列表中的值
程序要求用户输入5个唯一的号码,如果该号码已经在列表中,则要求输入一个新号码。输入5个唯一编号后,显示列表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:
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